package com.netposa.datawarehouse.aggregator.web.model;

import java.util.List;
import org.apache.solr.common.StringUtils;

public class DeviceTreeCondition {
   private String id;
   private List nodeTypes;
   private List abilities;
   private String key;
   private String pointSetFlag;
   private List searchTypes;
   private String treeModel;
   private boolean oneTier;
   private boolean allot;
   private String allotType;
   private Integer topx;
   private boolean filterNullGroup = true;
   private String queryDeviceCount;

   public void setAllotType(String allotType) {
      this.allotType = allotType;
      if (!StringUtils.isEmpty(allotType)) {
         this.allot = true;
      }

   }

   public String getId() {
      return this.id;
   }

   public List getNodeTypes() {
      return this.nodeTypes;
   }

   public List getAbilities() {
      return this.abilities;
   }

   public String getKey() {
      return this.key;
   }

   public String getPointSetFlag() {
      return this.pointSetFlag;
   }

   public List getSearchTypes() {
      return this.searchTypes;
   }

   public String getTreeModel() {
      return this.treeModel;
   }

   public boolean isOneTier() {
      return this.oneTier;
   }

   public boolean isAllot() {
      return this.allot;
   }

   public String getAllotType() {
      return this.allotType;
   }

   public Integer getTopx() {
      return this.topx;
   }

   public boolean isFilterNullGroup() {
      return this.filterNullGroup;
   }

   public String getQueryDeviceCount() {
      return this.queryDeviceCount;
   }

   public void setId(String id) {
      this.id = id;
   }

   public void setNodeTypes(List nodeTypes) {
      this.nodeTypes = nodeTypes;
   }

   public void setAbilities(List abilities) {
      this.abilities = abilities;
   }

   public void setKey(String key) {
      this.key = key;
   }

   public void setPointSetFlag(String pointSetFlag) {
      this.pointSetFlag = pointSetFlag;
   }

   public void setSearchTypes(List searchTypes) {
      this.searchTypes = searchTypes;
   }

   public void setTreeModel(String treeModel) {
      this.treeModel = treeModel;
   }

   public void setOneTier(boolean oneTier) {
      this.oneTier = oneTier;
   }

   public void setAllot(boolean allot) {
      this.allot = allot;
   }

   public void setTopx(Integer topx) {
      this.topx = topx;
   }

   public void setFilterNullGroup(boolean filterNullGroup) {
      this.filterNullGroup = filterNullGroup;
   }

   public void setQueryDeviceCount(String queryDeviceCount) {
      this.queryDeviceCount = queryDeviceCount;
   }

   public boolean equals(Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof DeviceTreeCondition)) {
         return false;
      } else {
         DeviceTreeCondition other = (DeviceTreeCondition)o;
         if (!other.canEqual(this)) {
            return false;
         } else {
            label143: {
               Object this$id = this.getId();
               Object other$id = other.getId();
               if (this$id == null) {
                  if (other$id == null) {
                     break label143;
                  }
               } else if (this$id.equals(other$id)) {
                  break label143;
               }

               return false;
            }

            Object this$nodeTypes = this.getNodeTypes();
            Object other$nodeTypes = other.getNodeTypes();
            if (this$nodeTypes == null) {
               if (other$nodeTypes != null) {
                  return false;
               }
            } else if (!this$nodeTypes.equals(other$nodeTypes)) {
               return false;
            }

            Object this$abilities = this.getAbilities();
            Object other$abilities = other.getAbilities();
            if (this$abilities == null) {
               if (other$abilities != null) {
                  return false;
               }
            } else if (!this$abilities.equals(other$abilities)) {
               return false;
            }

            label122: {
               Object this$key = this.getKey();
               Object other$key = other.getKey();
               if (this$key == null) {
                  if (other$key == null) {
                     break label122;
                  }
               } else if (this$key.equals(other$key)) {
                  break label122;
               }

               return false;
            }

            label115: {
               Object this$pointSetFlag = this.getPointSetFlag();
               Object other$pointSetFlag = other.getPointSetFlag();
               if (this$pointSetFlag == null) {
                  if (other$pointSetFlag == null) {
                     break label115;
                  }
               } else if (this$pointSetFlag.equals(other$pointSetFlag)) {
                  break label115;
               }

               return false;
            }

            Object this$searchTypes = this.getSearchTypes();
            Object other$searchTypes = other.getSearchTypes();
            if (this$searchTypes == null) {
               if (other$searchTypes != null) {
                  return false;
               }
            } else if (!this$searchTypes.equals(other$searchTypes)) {
               return false;
            }

            Object this$treeModel = this.getTreeModel();
            Object other$treeModel = other.getTreeModel();
            if (this$treeModel == null) {
               if (other$treeModel != null) {
                  return false;
               }
            } else if (!this$treeModel.equals(other$treeModel)) {
               return false;
            }

            if (this.isOneTier() != other.isOneTier()) {
               return false;
            } else if (this.isAllot() != other.isAllot()) {
               return false;
            } else {
               Object this$allotType = this.getAllotType();
               Object other$allotType = other.getAllotType();
               if (this$allotType == null) {
                  if (other$allotType != null) {
                     return false;
                  }
               } else if (!this$allotType.equals(other$allotType)) {
                  return false;
               }

               Object this$topx = this.getTopx();
               Object other$topx = other.getTopx();
               if (this$topx == null) {
                  if (other$topx != null) {
                     return false;
                  }
               } else if (!this$topx.equals(other$topx)) {
                  return false;
               }

               if (this.isFilterNullGroup() != other.isFilterNullGroup()) {
                  return false;
               } else {
                  Object this$queryDeviceCount = this.getQueryDeviceCount();
                  Object other$queryDeviceCount = other.getQueryDeviceCount();
                  if (this$queryDeviceCount == null) {
                     if (other$queryDeviceCount != null) {
                        return false;
                     }
                  } else if (!this$queryDeviceCount.equals(other$queryDeviceCount)) {
                     return false;
                  }

                  return true;
               }
            }
         }
      }
   }

   protected boolean canEqual(Object other) {
      return other instanceof DeviceTreeCondition;
   }

   public int hashCode() {
      
      int result = 1;
      Object $id = this.getId();
      result = result * 59 + ($id == null ? 43 : $id.hashCode());
      Object $nodeTypes = this.getNodeTypes();
      result = result * 59 + ($nodeTypes == null ? 43 : $nodeTypes.hashCode());
      Object $abilities = this.getAbilities();
      result = result * 59 + ($abilities == null ? 43 : $abilities.hashCode());
      Object $key = this.getKey();
      result = result * 59 + ($key == null ? 43 : $key.hashCode());
      Object $pointSetFlag = this.getPointSetFlag();
      result = result * 59 + ($pointSetFlag == null ? 43 : $pointSetFlag.hashCode());
      Object $searchTypes = this.getSearchTypes();
      result = result * 59 + ($searchTypes == null ? 43 : $searchTypes.hashCode());
      Object $treeModel = this.getTreeModel();
      result = result * 59 + ($treeModel == null ? 43 : $treeModel.hashCode());
      result = result * 59 + (this.isOneTier() ? 79 : 97);
      result = result * 59 + (this.isAllot() ? 79 : 97);
      Object $allotType = this.getAllotType();
      result = result * 59 + ($allotType == null ? 43 : $allotType.hashCode());
      Object $topx = this.getTopx();
      result = result * 59 + ($topx == null ? 43 : $topx.hashCode());
      result = result * 59 + (this.isFilterNullGroup() ? 79 : 97);
      Object $queryDeviceCount = this.getQueryDeviceCount();
      result = result * 59 + ($queryDeviceCount == null ? 43 : $queryDeviceCount.hashCode());
      return result;
   }

   public String toString() {
      return "DeviceTreeCondition(id=" + this.getId() + ", nodeTypes=" + this.getNodeTypes() + ", abilities=" + this.getAbilities() + ", key=" + this.getKey() + ", pointSetFlag=" + this.getPointSetFlag() + ", searchTypes=" + this.getSearchTypes() + ", treeModel=" + this.getTreeModel() + ", oneTier=" + this.isOneTier() + ", allot=" + this.isAllot() + ", allotType=" + this.getAllotType() + ", topx=" + this.getTopx() + ", filterNullGroup=" + this.isFilterNullGroup() + ", queryDeviceCount=" + this.getQueryDeviceCount() + ")";
   }
}
